package com.toe.order.webapi.config;

import com.toe.common.utils.ConfigUtils;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class AlipayConfig {

    /**
     * 支付配置
     */
    private static ConfigUtils configUtils = new ConfigUtils(
            "/config/aliPayConfig.config");

    /**
     * 应用ID,您的APPID，收款账号既是您的APPID对应支付宝账号
     */
    public static final String APP_ID = configUtils.getString("app_id");
    public static final String a = configUtils.getString(
            "app_id");;

    /**
     * 商户私钥
     */
    public static final String MERCHANT_PRIVATE_KEY = configUtils.getString("merchant_private_key");

    /**
     * 支付宝公钥
     * 查看地址：https://openhome.alipay.com/platform/keyManage.html
     * 对应APPID下的支付宝公钥。
     */
    public static final String ALIPAY_PUBLIC_KEY = configUtils.getString("alipay_public_key");

    /**
     * 服务器异步通知页面路径
     * 需http://格式的完整路径，不能加?id=123这类自定义参数，必须外网可以正常访问
     */
    public static final String NOTIFY_URL = configUtils.getString("notify_url");

    /**
     * 页面跳转同步通知页面路径
     * 需http://格式的完整路径，不能加?id=123这类自定义参数，
     * 必须外网可以正常访问(其实就是支付成功后返回的页面)
     */
    public static final String RETURN_URL = configUtils.getString("return_url");

    /**
     * 传输格式
     */
    public static final String FORMAT = configUtils.getString("format");

    /**
     * 签名方式
     */
    public static final String SIGN_TYPE = configUtils.getString("sign_type");

    /**
     * 字符编码格式
     */
    public static final String CHARSET = configUtils.getString("charset");

    /**
     * 支付宝网关，这是沙箱的网关
     */
    public static final String GATEWAY_URL = configUtils.getString("gatewayUrl");

    /**
     * 打印日志路径
     */
    public static final String LOG_PATH = configUtils.getString("log_path");

    /**
     * 写日志，方便测试（看网站需求，也可以改成把记录存入数据库）
     * @param sWord 要写入日志里的文本内容
     */
    public static void logResult(String sWord) {
        //写入路径
        File file = new File(LOG_PATH);
        //判断路径是否存在，不存在就创建
        if (!file.exists()) {
            System.out.println("目标文件所在路径不存在，准备创建。。。");
            file.mkdirs();
            if (!file.mkdirs()) {
                System.out.println("创建成功");
            } else {
                System.out.println("创建失败，请重试");
            }
        } else {
            System.out.println("文件路径已存在");
        }

        FileWriter writer = null;
        try {
            writer = new FileWriter(LOG_PATH + "alipay_log" + System.currentTimeMillis() + ".txt");
            writer.write(sWord);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (writer != null) {
                try {
                    writer.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

